uses crt; type Telement = record tstart : real; sost : boolean; end; const nu = 1.4; mu = 0.010; T1 = 1.8e+4; Tm = 1e+5; n = 10000; ind : word = 1; tstartall : real = 0; sostall : boolean = true; var po: integer; elements : array [1..3] of Telement; totk : array [1..1000] of real; totksr,totkmin,totkmax : real; tvosst : array [1..1000] of real; tvosstsr,tvosstmin,tvosstmax : real; P : array [1..3] of real; randoms : array [1..3] of real; i,j : longint; cur_time : real; change : boolean; kg : real; function otkaz (t:real;t0:real) : real; var value : real; begin value := exp (-(exp(nu*ln(t-t0)))/T1); otkaz := value; end; function vosst (t:real;t0:real) : real; var value : real; begin value := exp (-mu*(t-t0)); vosst := value; end; begin clrscr; randomize; for j := 1 to 3 do begin elements[j].sost := true; elements[j].tstart := 0; end; for i := 0 to n do begin cur_time := Tm/n*i; for j := 1 to 3 do begin randoms[j] := random; if elements[j].sost then begin P[j] := otkaz (cur_time,elements[j].tstart); end else begin P[j] := vosst (cur_time,elements[j].tstart); end; if P[j]tvosst[i] then tvosstmin := tvosst[i]; if tvosstmaxtotk[i] then totkmin := totk[i]; if totkmax